1. Field of the Invention
The present invention relates to micro-code execution, and more specifically, to micro-code execution within optical disc drive systems.
2. Description of the Prior Art
It is very common for most computer users to upgrade, uninstall, and install software components. Methods exist to help facilitate the upgrade of hardware components of the personal computer and its associated peripheral devices by utilizing the so-called micro-code which is also known as firmware.
Please refer to FIG. 1. As shown in FIG. 1, the computer 110 is connected to the CD-ROM drive 160, and the CD-ROM drive 160 includes a disc 100, a controller 150, a decoder (DEC) 120, a microprocessor 130, a non-volatile memory 140, and a buffer memory 125. The non-volatile memory 140 is connected to the microprocessor 130 and is used for storage of all of the micro-code utilized by the CD-ROM drive 160. The buffer memory 125 is connected to the DEC 120 and is used for temporarily storing data such as a micro-code upgrade data.
Please refer to FIG. 2 as well as FIG. 1. FIG. 2 is a diagram illustrating the micro-code stored in the non-volatile memory 140. During operating mode, the microprocessor 130 accesses the micro-code section 210 of the non-volatile memory 140. When detecting that it is necessary for micro-code upgrading, the microprocessor 130 runs the upgrade program section 200 of the micro-code stored in the non-volatile memory 140, and begins executing the upgrade program. The upgrade program is responsible for moving the new version of the micro-code that is currently stored in the buffer memory 125 to a storage space located within the micro-code section 210 of FIG. 2. Finally, the microprocessor 130 resets in order to execute the new version of the micro-code.
It is important to note that the execution speed of microprocessor 130 is greater than the speed at which the microprocessor 130 is able to fetch code from the non-volatile memory 140. Therefore, because all of the micro-code is executed in non-volatile memory 140, and due to the processing versus fetching speed differences, the entire system performance of the CD-ROM drive 160 is reduced. Moreover, when updating the micro-code, the microprocessor 130 cannot have simultaneous read and write access to the non-volatile memory 140. Therefore, it is obvious that improvements in the micro-code execution apparatus 160 to solve the above mentioned disadvantages would be advantageous.